/***************************************************
 * utk filesystem
 * Author: sanghyeb lee slee91@utk.edu
 */

#ifndef SUPERBLOCK_H
#define SUPERBLOCK_H

typedef struct superblock {
  u32 number_of_inodes; /* total number of inodes*/
  u32 size_imap_blocks; /* size of imap blocks*/
  u32 size_zmap_blocks; /* size of zonemap blocks*/
  u32 inodes_space_blocks; /*number of blocks allocated for inodes */
  u32 first_inode_block; /*first blocks containing inodes*/
  u32 block_size; /*block size*/
  block_t first_datazone_blocks; /*first blocks containing data*/
  u32 blocks_per_zone;
  block_t total_blocks; /*total size of filesystem in zones*/
  u32 data_space_block;
  struct inode* root_inode;
  u32 size_direct_zone; /* direct zones in an inode*/
  u32 size_indirect_zone; /* indirect zones per indirect block*/ 
} superblock;

#endif
  
  
